package homework.test2;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
请按以下要求顺序编码：

1. 定义一个：键Integer，值String类型的HashMap集合
2. 存储以下数据：”张三” , “李四” , “ 王五”。（put）
3. 打印集合大小；
4. 使用“键找值”的方式遍历集合，打印键和值；(keySet)
5. 使用“键值对”的方式遍历集合，打印键和值；(entrySet)
6. 获取键为1的值，并打印(get)
7. 获取键为10的值，并打印
8. 判断集合中是否有键：10（containsKey）
9. 删除键为1的键值对，删除完毕打印集合

 */
public class Demo2 {
    public static void main(String[] args) {
        //1. 定义一个：键Integer，值String类型的HashMap集合
        HashMap<Integer,String> hm = new HashMap<>();

        //2. 存储以下数据：”张三” , “李四” , “ 王五”。（put）
        hm.put(1,"张三");
        hm.put(2,"李四");
        hm.put(3,"王五");

        //3. 打印集合大小；
        System.out.println(hm.size());

        //4. 使用“键找值”的方式遍历集合，打印键和值；(keySet)
        Set<Integer> set = hm.keySet();
        Iterator<Integer> it1 = set.iterator();
        while (it1.hasNext()){
            Integer key = it1.next();
            String value = hm.get(key);
            System.out.println(key+"..."+value);
        }

        System.out.println("----------------------------------------------");

        //5. 使用“键值对”的方式遍历集合，打印键和值；(entrySet)
        Set<Map.Entry<Integer,String>> entries = hm.entrySet();
        Iterator<Map.Entry<Integer,String>> it2 = entries.iterator();
        while (it2.hasNext()){
            Map.Entry<Integer,String> entry = it2.next();
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+"..."+value);
        }

        //6. 获取键为1的值，并打印(get)
        String v1 = hm.get(1);
        System.out.println(v1);

        //7. 获取键为10的值，并打印
        String v2 = hm.get(10);
        System.out.println(v2);

        //8. 判断集合中是否有键：10（containsKey）
        boolean flag = hm.containsKey(10);
        System.out.println(flag);

        //9. 删除键为1的键值对，删除完毕打印集合
        hm.remove(1);
        System.out.println(hm);

    }
}
